#ifndef FeatureDescriptor_H_
#define FeatureDescriptor_H_
class FeatureDescriptor {
	public:
		float * descriptor;
		unsigned int descriptor_length;
		int type;//-1 ununitiated,0 base, 1 surf128, 2 surf64,3 histogram, 4 rgb
		virtual double distance(FeatureDescriptor * other_descriptor);
		FeatureDescriptor();
		FeatureDescriptor(float * feature_descriptor, unsigned int feature_length);
		FeatureDescriptor(unsigned int feature_length);
		virtual ~FeatureDescriptor();
		virtual void print();
		virtual void normalize();
		virtual FeatureDescriptor * add(FeatureDescriptor * feature);
		virtual FeatureDescriptor * mul(float val);
};

#endif
